Page History: Cancel Reject
Compare Page Revisions
Page Revision: 2013/06/19 11:05
Rejecting Attempts to Amend or Cancel OrdersThe Order Cancel Reject message (MsgType=9) is used by the T4 FIX API to electronically reject (failed) attempts to cancel or replace an order. Cancel Rejects are only generated for unsuccessful client side
Order Cancel Request,
Order Cancel Request or
List Cancel Request messages. Unsolicited Cancel Rejects may also be generated for cancel rejects originated from non-T4-FIX-API applications (e.g. CTS front-end). This message applies to all CTS strategy types including outright futures, futures options, spreads and multileg strategies.
Identifying the rejected Cancel or Cancel ReplaceThe cancel reject message uses ClOrdID (Tag 11) to identify the failed cancel request or cancel replace request. Failed attempts originating from outside the T4 FIX API would carry a ClOrdId equivalent to the target order's OrderId (Tag 37). For List Cancel Request, the reject uses the ListID (Tag 66) to identify the corresponding list cancel request.
Identifying the target order for which the cancel request or Cancel replace failedThe cancel reject message uses OrigClOrdID (Tag 41) to identify the order that was (unsuccessfully) attempted to be canceled or cancel-replaced. The OrderId (Tag 37) also uniquely identifies the target order. Orders that were entered outside the T4 FIX API will carry OrigClOrdId (Tag 41) equivalent to the OrderId (Tag 37).
For List Cancel Requests, the reject uses the ListID (Tag 66) to identify the
New Order List
(whose cancel was rejected).
Message Dictionary
Tag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = 9 |
1 | Account | N | Account (code) to which the cancel reject pertains. |
11 | ClOrdID | Y | (Client-Side) identifier of the cancel request or cancel replace that was rejected. |
41 | OrigClOrdID | Y | (Client-Side) identifier of the order that could not be canceled or cancel replaced. |
66 | ListID | N | Unique (Client-Side) identifier of the New Order List that was rejected. Only applicable to (Batch) New Order List orders. |
37 | OrderId | N | Unique identifier (provided by CTS) of the order that could not be canceled or cancel replaced. |
39 | OrdStatus | Y | Order Status of the order that was cancel rejected. The valid values are: |
| | | 0 = New |
| | | 1 = Partially Filled |
| | | 2 = Filled |
| | | 3 = Done For the Day |
| | | 4 = Canceled |
| | | 5 = Replaced |
| | | 6 = Pending Cancel |
| | | 7 = Stopped |
| | | 8 = Rejected |
| | | 9 = Suspended |
| | | A = Pending New |
| | | B = Calculated |
| | | C = Expired |
| | | E = Pending Replace |
| | | X = Undetermined |
60 | TransactTime | N | Time the cancel or cancel replace was rejected. Specified in UTC form. |
434 | CxlRejResponseTo | Y | Identifies the type of request that this Cancel Reject is in response to. The valid values are: |
| | | 1 = Order Cancel Request |
| | | 2 = Order Cancel-Replace Request |
| | | 3 = List Cancel Request |
102 | CxlRejReason | N | Code that identifies the reason for the cancel rejection. The valid values are: |
| | | 1 = Unknown order |
| | | 2 = Broker Option |
58 | Text | N | Free form Text. |
1028 | ManualOrderIndicator | N | Indicates if the order was sent manually. Valid values are: |
| | | Y = Order was entered Manually |
| | | N = Order was entered by an Automated System, Program or Algorithm |
| Standard Trailer | Y |
Sample MessagesCancel Rejection of a Cancel Replace Request with an invalid price
[FIXCANCELREPLACE] 34=435|49=T4Example|56=T4|50=TraderName|52=20121212-21:35:28.083|1=Account1|11=fr-634909233280833034|41=fn-634909233209540909|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143001|59=0|167=FUT|21=1|60=20121212-21:35:28.083|204=0|
[FIXCANCELREPLACE]
[MsgSeqNum] 34 = 435
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121212-21:35:28.083
[Account] 1 = Account1
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 1 (BUY)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 143001
[TimeInForce] 59 = 0 (DAY)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20121212-21:35:28.083
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[fixcancelreject] 34=2566|49=T4|56=T4Example|50=T4FIX|52=20121212-21:35:28.098|1=Account1|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|11=fr-634909233280833034|41=fn-634909233209540909|39=0|434=2|102=2|58=CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'|60=20121212-21:35:49.172|1028=N|
[FIXCANCELREJECT]
[MsgSeqNum] 34 = 2566
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:35:28.098
[Account] 1 = Account1
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 0 (NEW)
[CxlRejResponseTo] 434 = 2 (ORDER_CANCEL_REPLACE_REQUEST)
[CxlRejReason] 102 = 2 (BROKER_OPTION)
[Text] 58 = CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'
[TransactTime] 60 = 20121212-21:35:49.172
[ManualOrderIndicator] 1028 = N (NO)
Cancel Rejection of a Cancel Request of a previously canceled order
[FIXCANCEL] 34=439|49=T4Example|56=T4|50=TraderName|52=20121212-21:37:11.508|1=Account1|11=fc-634909234315082852|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|41=fn-634909233209540909|48=CME_20121200_ESZ2|54=1|55=ES|207=CME_Eq|60=20121212-21:37:11.508|167=FUT|
[FIXCANCEL]
[MsgSeqNum] 34 = 439
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = Account1
[ClOrdID] 11 = fc-634909234315082852
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[OrigClOrdID] 41 = fn-634909233209540909
[SecurityID] 48 = CME_20121200_ESZ2
[Side] 54 = 1 (BUY)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[TransactTime] 60 = 20121212-21:37:11.508
[SecurityType] 167 = FUT (FUTURE)
[fixcancelreject] 34=2571|49=T4|56=T4Example|50=T4FIX|52=20121212-21:37:11.508|1=Account1|37=NONE|11=fc-634909234315082852|41=fn-634909233209540909|39=8|434=1|102=1|58=Undetermined Order|60=20121212-21:37:11.508|1028=N|
[FIXCANCELREJECT]
[MsgSeqNum] 34 = 2571
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = Account1
[OrderID] 37 = NONE
[ClOrdID] 11 = fc-634909234315082852
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 8 (REJECTED)
[CxlRejResponseTo] 434 = 1 (ORDER_CANCEL_REQUEST)
[CxlRejReason] 102 = 1 (UNKNOWN_ORDER)
[Text] 58 = Undetermined Order
[TransactTime] 60 = 20121212-21:37:11.508
[ManualOrderIndicator] 1028 = N (NO)
FIX API Home Page.